iT邦幫忙

2023 iThome 鐵人賽

DAY 30
0

我們從Breeze的Template,就可以學到很多Laravel的機制。
譬如說在:resources>views>auth>register.blade.php 會看到@csrf命令式,
就一起來讀一下Laravel CSRF保護機制。

文件:Laravel: CSRF Protection

CSRF: ross-site request forgery跨站請求偽造,
網路上可以看到一些攻擊的案例,例如說,
一個無辜的A 登入銀行B,並沒有登出還存有Cookie,然後踩到了惡意網站,
惡意網站就使用自身的Domain去呼叫並登入你在銀行A的Login endpoint。
然後就可以做一些壞壞的事情了。

Laravel會在用戶登入後給每一個Session(工作階段) 一個CSRF "token",
這個Token每一個Session都會被更新,而且存在Session裡面,所以不會發生CSRF機制。

當我們在撰寫HTML form時,我們就可以使用@csrf去使用CSRF token的Middleware。
其實相當於我們使用一個隱藏的表單,送出用戶的CSRF token

<form method="POST" action="/profile">
    @csrf
 
    <!-- 相當於 -->
    <input type="hidden" name="_token" value="{{ csrf_token() }}" />
</form>

上一篇
Laravel Breeze auth探討2-Day28
下一篇
Day30-身而為廢前端,我很抱歉。
系列文
前輩說Laravel不難,好啊那就1人前後端試試看啊31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言